package com.probox.common.entity.service.wechat;

import com.probox.common.entity.domain.wechat.PayAudit.AuditResult;
import com.probox.common.entity.domain.wechat.PayAudit.WechatPayAudit;
import com.probox.common.entity.domain.wechat.PayAudit.additionInfo.AdditionInfo;
import com.probox.common.entity.domain.wechat.PayAudit.bankaccountinfo.BankAccountInfo;
import com.probox.common.entity.domain.wechat.PayAudit.businessinfo.BusinessInfo;
import com.probox.common.entity.domain.wechat.PayAudit.contactInfo.ContactInfo;
import com.probox.common.entity.domain.wechat.PayAudit.settlementinfo.SettlementInfo;
import com.probox.common.entity.domain.wechat.PayAudit.subject_info.SubjectInfo;
import com.probox.common.entity.domain.wechat.WechatArea;
import com.probox.common.entity.domain.wechat.WechatImg;
import com.probox.common.entity.domain.wechat.vo.CommercialDataVo;
import com.probox.common.entity.domain.wechat.vo.QuerySwitchPayAuditVo;
import com.probox.common.entity.domain.wechat.vo.WechatPayAuditListVo;
import com.probox.common.entity.domain.wechat.vo.WechatPayAuditVo;

import java.io.File;
import java.util.HashMap;
import java.util.List;

/**
 * @author Kite
 * @date 2021/6/29
 */
public interface WechatPayAuditService {

    public String addPayAudit(WechatPayAudit wechatPayAudit,String authorizerAppid);

    public WechatPayAuditVo getPayAudit(String businessCode);

    public WechatPayAuditVo getSubjectInfo(String businessCode);

    public Integer updatePayAuditType(WechatPayAudit wechatPayAudit,String businessCode);

    public WechatPayAuditVo getBusinessInfo(String businessCode);

    public WechatPayAuditVo getContactInfo(String businessCode);

    public Integer submitAudit(String businessCode) throws Exception;

    public Integer addContactInfo(ContactInfo contactInfo,String businessCode);

    public Integer addSubjectInfo(SubjectInfo subjectInfo,String businessCode);

    public Integer  addBusinessInfo(BusinessInfo businessInfo,String businessCode);

    public Integer  addSettlementInfo(SettlementInfo settlementInfo,String businessCode);

    public Integer addBankAccountInfo(BankAccountInfo bankAccountInfo,String businessCode);

    public Integer addAdditionInfo(AdditionInfo additionInfo,String businessCode);

    public String uploadingImg(File file , String url) throws Exception;

    List<WechatImg> getWachatImg(String[] mediaIds);

    List getWechatArea(String addCitycode);

    WechatArea getAddCitycode(String addCitycode);

    AuditResult getApplyState(String businessCode);

    public HashMap getAppId();

    WechatPayAuditVo getSettlementInfo(String businessCode);

    WechatPayAuditVo getBankAccountInfo(String businessCode);

//    AuditResult getPayAuditStatus();

    CommercialDataVo getCommercialData(String businessCode);


    List<WechatPayAuditListVo> wechatPayAuditList(String type);

    Boolean switchPayAudit(QuerySwitchPayAuditVo vo);

}
